﻿#define _CRT_SECURE_NO_WARNINGS  1
//一定要动手，例子不管多么简单，建议至少自己手敲一遍看看是否理解了里头的细枝末节。
//一定要学会思考，思考为什么要这样，而不是那样。还要举一反三地思考
#include<string>
#include<iostream>
using namespace std;
class person {
public:
	int _age;
	string _name;
public:
	void classname()
	{
		cout << "名字：person " << endl;
	}
	void ShowPersonAge()
	{
		if (this == nullptr)
		{
			return;
		}
		cout << "age = " << _age << endl;
	}
		person()
		{
			cout << "person 默认构造函数" << endl;
		}
		person(int _age)
		{
			//this指向被调用的成员函数所属的对象
			this->_age = _age;
			cout << "person 有参构造函数" << endl;
		}
		person(const person& p)
		{
			_age = p._age;
			_name = p._name;
			cout << "person 拷贝构造函数" << endl;
		}
		~person()
		{
			//当使用堆上空间，释放是在此处释放
			cout << "person  析构函数调用" << endl;
		}
		person& personAddage(person& p)
		{
			this->_age += p._age;
			return *this;
		}
};
void test1()
{
	person * p1 = nullptr;
	p1->classname();
	//p1->personAddage();
}
int main()
{
	test1();
	system("pause");
	return 0;
}